#ifndef NETCFGHELPER_H
#define NETCFGHELPER_H

#include <QObject>
#include <QDBusContext>
#include <QProcess>


class NetcfgHelperPrivate;

class NetcfgHelper : public QObject, protected QDBusContext
{
    Q_OBJECT
    Q_CLASSINFO("D-Bus Interface", "org.archlinux.netcfg")

    friend class NetcfgHelperPrivate;

    public:

        /**
         * Class constructor.
         */
        NetcfgHelper(QObject *parent = 0);

    public slots:

        /**
         * Takes @p profile up
         */ 
        void up(const QString &profile);

        /**
         * Takes @p profile down
         */ 
        void down(const QString &profile);

        /**
         * Takes any active profile down
         */ 
        void allDown();

        /**
         * Runs @p netcfg-auto-wireless.
         */
        void autoWireless();

    private:

        NetcfgHelperPrivate *d;

};

#endif
